describe('practice-7-4', function () {

    var arr_result = black_and_white_children_exchange();

    it("使用最少的步骤完成移动",function(){
        expect(arr_result.length).toBe(15);
    });

    it("一次只能移动一个棋子", function () {
        //expect(arr_result.length).toBe(15);
        for(var i = 0; i < arr_result.length-1; i ++)
        {
            var arr_diff = [];
            for(var j = 0; j < arr_result[i].length; j ++)
            {
                if(arr_result[i][j] != arr_result[i+1][j])
                {
                    var obj = {type_up:arr_result[i][j],type_down:arr_result[i+1][j],number:j};
                    arr_diff.push(obj);
                }
            }
            expect(arr_diff.length).toBe(2);
        }
    });

    it("棋子可以向空格中移动，也可以跳过对方的棋子进入空格，不能跳过两个棋子", function () {
        for(var i = 0; i < arr_result.length-1; i ++)
        {
            var arr_diff = [];
            for(var j = 0; j < arr_result[i].length; j ++)
            {
                if(arr_result[i][j] != arr_result[i+1][j])
                {
                    var obj = {type_up:arr_result[i][j],type_down:arr_result[i+1][j],number:j};
                    arr_diff.push(obj);
                }
            }
            expect(arr_diff[1].number - arr_diff[0].number <= 2).toBe(true);
        }
    });
    it("白色棋子只能向右移动，黑色棋子只能向左移动", function () {
        for(var i = 0; i < arr_result.length-1; i ++)
        {
            var arr_diff = [];
            for(var j = 0; j < arr_result[i].length; j ++)
            {
                if(arr_result[i][j] != arr_result[i+1][j])
                {
                    var obj = {type_up:arr_result[i][j],type_down:arr_result[i+1][j],number:j};
                    arr_diff.push(obj);
                }
            }
            expect((arr_diff[0].type_up == '白'&&arr_diff[0].type_down == '空')||(arr_diff[0].type_up == '空'&&arr_diff[0].type_down == '黑')).toBe(true);
        }
    });
});